package com.jtny.nytb.equipment.dto.dataparam;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;

/**
 * @author 智慧能源中心 - 伍天宇
 * @package com.jtny.nytb.energymonitor.equipment.dto.dataparam
 * @fileName DataParamPageDTO.java
 * @createTime 2023年10月08日 13:14
 * @Copyright© 2023 jtny
 * 江投能源技术研究院 版权所有
 */
@ApiModel("设备模型参量DTO对象")
@Data
public class DataParamPageDTO implements Serializable {
    protected Long id;

    /**
     * 参量编号
     */
    @ApiModelProperty("参量编号")
    private String code;

    /**
     * 参量名称
     */
    @ApiModelProperty("参量名称")
    private String name;

    @ApiModelProperty("别名")
    private String alias;

    /**
     * 参量状态，0表示正常，1表示禁用，9表示已删除
     */
    @ApiModelProperty("参量状态，0表示正常，1表示禁用，9表示已删除")
    private Integer status;

    /**
     * 数据上报标识
     */
    @ApiModelProperty(value = "数据上报标识", required = true)
    @NotBlank(message = "数据上报标识不能为空")
    private String reportIdentifier;

    /**
     * 统一参量标识
     */
    @ApiModelProperty(value = "统一参量标识", required = true)
    private String unifiedIdentifier;

    /**
     * 统一参量标识名称
     */
    @ApiModelProperty(value = "统一参量标识名称", required = true)
    private String unifiedIdentifierName;

    /**
     * 参量来源(1设备自动采集 2系统计算 3常量 4手动填报)
     */
    @ApiModelProperty(value = "参量来源(1设备自动采集 2系统计算 3常量 4手动填报)", required = true)
    private Integer source;

    /**
     * 计量单位名字
     */
    @ApiModelProperty(value = "计量单位名字", required = true)
    @NotBlank(message = "计量单位不能为空")
    private String measurementUnit;

    /**
     * 记点频率
     */
    @ApiModelProperty("记点频率数据")
    private Integer frequency;

    @ApiModelProperty("记点频率单位")
    private String frequencyUnit;

    /**
     * 记点算法信息
     */
    @ApiModelProperty("记点算法信息")
    private String algorithmName;

    /**
     * 实时量/累计量(0:实时量;1:累计量)
     */
    @ApiModelProperty(value = "实时量/累计量(0:实时量;1:累计量)", required = true)
    private Integer dataType;

    /**
     * 默认图表
     */
    @ApiModelProperty(value = "默认图表: '1': '流向图 ,'2': '柱状图','3': '折线图','4': '饼图'", required = true)
    private Integer chart;
}
